<?php
// +----------------------------------------------------------------------
// | 发送中心用到的相关函数，
// +----------------------------------------------------------------------
if(!defined('MMS_ZIP_PATH'))		define('MMS_ZIP_PATH','../data/uploads/templet/sms/zip');
if(!defined('MMS_IMG_PATH'))		define('MMS_IMG_PATH','../data/uploads');
/**
 * 生成发送mms zip包，获取生成的zip包数据。然后将zip包删除。相关的路径（处理用到的任何文件）需要设置为相对路径
 * @param String $zipfname		将要生成的zip包路径（包括文件名）
 * @param String $imgfname		将添加到zip包中的图片路径（包括文件名）
 * @param String $smiltxt		smil格式数据。config_mms中定义的。
 * @param String $txtcontent	添加到zip包中的文字。
 */
function createZip4Mms($zipfname,$imgfname,$smiltxt,$txtcontent){
	$debug = false;
	if($debug){
		echo "createZip4Mms()->请求数据：<br>";
		echo "createZip4Mms()->zipfname：".$zipfname."<br>";
		echo "createZip4Mms()->imgfname：".$imgfname."<br>";
		echo "createZip4Mms()->smiltxt：".$smiltxt."<br>";
		echo "createZip4Mms()->txtcontent：".$txtcontent."<br>";
	}
	$zip = new ZipArchive(); 
	//$zipfname = "./test/mms/mms.zip"; 
		
	if(file_exists($zipfname)){
		unlink($zipfname);
	  	if($debug)echo "成功删除".$zipfname."<hr />";
	}
	//echo "zipfname=".$zipfname;
	if ($zip->open($zipfname, ZIPARCHIVE::CREATE)!==TRUE) {
		//exit("cannot open <$zipfname>\n");
		if($debug) echo "cannot open <$zipfname>\n";
		return null;
	} 
	$curtime = time();
	$extend = pathinfo($imgfname);   
	$ext = strtolower($extend["extension"]);  
	$data_ = array( '{imgfname}'=>$curtime.'.'.$ext , '{txtfname}'=>"content.txt" );
	if($debug)dump($data_);
	if($debug)echo strtr($smiltxt,$data_).'<br>';
	$zip->addFromString("layout.smil", strtr($smiltxt,$data_));
	$zip->addFromString($data_['{txtfname}'], $txtcontent); 
	if(file_exists($imgfname)){
		$zip->addFile($imgfname,$data_['{imgfname}']); 
		if($debug)echo '图像文件存在！'.$imgfname.'<br>';
	}else{
		if($debug)echo '图像文件不存在！'.$imgfname.'<br>';
	}
	$zip->close();
	$fp=fopen($zipfname,'rb');
	
	$content=fread($fp,filesize($zipfname));
	fclose($fp);
	if( C('MMS_ZIP_DELETE') && file_exists($zipfname) ){
		unlink($zipfname);
	  	if($debug)echo "成功删除".$zipfname."<hr />";
	}
	if($debug){echo $content;}
	if($debug){echo "end";}
	return $content;
}
?>